package com.pheruagor.handmanager.storage.api {
    import com.pheruagor.handmanager.model.business.Club;

    /**
     * All classes that manage club storage must implement this interface
     */
    public interface ClubStorage {
        /**
         * Save the specified club
         *
         * @param member
         * 		the club to save
         */
        function saveClub(club:Club, onResult:Function, onFault:Function):void;

        /**
         * List all clubs
         *
         */
        function listClubs(onResult:Function, onFault:Function):void;

        /**
         * Remove the specified club and all these members
         *
         * @param club
         * 		the club to remove
         */
        function removeClub(club:Club, onResult:Function = null, onFault:Function = null):void;

        /**
         * Remove all clubs and these members
         *
         * @param clubList
         * 		All club to removed
         */
        function removeClubs(clubList:Array = null, onResult:Function = null, onFault:Function = null):void;
    }
}